package com.swm.util;

import com.swm.pojo.Data;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;

import static com.swm.util.getStockDayData4.days;

/**
 * @author 师文明
 * @data 2025/4/15 下午4:24
 **/
public class ExcelUtil {

    public static void generateExcel(ArrayList<Data> dataList) {
        // 创建Workbook实例，对应一个Excel文件
        Workbook workbook = new XSSFWorkbook(); // 对于xlsx格式的文件
        // 创建Sheet（工作表）
        Sheet sheet = workbook.createSheet("Sheet");

        for (int i = 0; i < dataList.size(); i++) {

            // 创建行（Row），参数0表示第一行
            Row row = sheet.createRow(i);

            // 在行中创建单元格（Cell）并写入数据，参数0表示第一列
            Cell cell0 = row.createCell(0);
            cell0.setCellValue(dataList.get(i).getName());
            Cell cell1 = row.createCell(1);
            cell1.setCellValue(dataList.get(i).getDate());
            Cell cell2 = row.createCell(2);
            cell2.setCellValue(dataList.get(i).getIncrenum());
            Cell cell3 = row.createCell(3);
            cell3.setCellValue(dataList.get(i).getNextincrenum());
            Cell cell4 = row.createCell(4);
            cell4.setCellValue(dataList.get(i).getMoney());
            Cell cell5 = row.createCell(5);
            cell5.setCellValue(dataList.get(i).getNextmoney());

        }

        // 关闭线程池，以优雅的方式
        // 将数据写入文件系统中的文件
        try (FileOutputStream outputStream = new FileOutputStream("最近" + days + "天蛟龙出海.xlsx")) { // 对于xlsx格式的文件
            // 或使用 FileOutputStream("example.xls") 来创建xls格式的文件
            workbook.write(outputStream); // 将数据写入文件
            workbook.close(); // 关闭workbook以释放资源
            System.out.println("Excel文件已成功创建！");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
